<?php
/**
 * 应用程序主路由配置文件
 * 路由规范化完成标记 - 已按照ROUTE_STANDARDIZATION_PLAN.md统一为/api前缀路由
 */

// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------
use think\facade\Route;

// 测试路由 - 非生产环境使用
Route::get('think', function () {
    return 'hello,ThinkPHP8!';
});

Route::get('hello/:name', 'index/hello');

// 数据库测试路由 - 仅用于开发环境
Route::get('dbtest', 'DatabaseTest/index');
Route::get('dbtest/tables', 'DatabaseTest/tables');
Route::get('dbtest/users', 'DatabaseTest/users');
Route::get('dbtest/test', 'DatabaseTest/test');

// JWT认证路由已移至route.php统一管理，避免重复定义
// 菜单相关路由已移至route.php统一管理
// 验证码路由已移至home.php统一管理

// CORS调试路由
Route::get('api/cors/test', 'CorsTestController/test');
Route::get('api/cors/debug', 'CorsTestController/debug');

// 工作流审批路由
Route::group('api/workflow', function () {
    // 获取我的待审批列表
    Route::get('pending', '\\app\\controller\\WorkflowController@myPendingApprovals');
    
    // 获取我发起的审批列表
    Route::get('my', '\\app\\controller\\WorkflowController@myApprovals');
    
    // 获取审批详情
    Route::get('detail/:id', '\\app\\controller\\WorkflowController@approvalDetail');
    
    // 处理审批（通过/拒绝）
    Route::post('process', '\\app\\controller\\WorkflowController@processApproval');
    
    // 创建审批流程
    Route::post('create', '\\app\\controller\\WorkflowController@createApproval');
    
    // 获取支持的审批类型
    Route::get('types', '\\app\\controller\\WorkflowController@approvalTypes');
    
    // 获取审批统计数据
    Route::get('statistics', '\\app\\controller\\WorkflowController@approvalStatistics');
});

// 数据库连接测试路由
Route::group('api/database-test', function () {
    // 测试数据库连接状态
    Route::get('connection', '\\app\\controller\\DatabaseTestController@testConnection');
    
    // 测试数据表结构
    Route::get('table-structure', '\\app\\controller\\DatabaseTestController@testTableStructure');
    
    // 测试权限相关表
    Route::get('permission-tables', '\\app\\controller\\DatabaseTestController@testPermissionTables');
});

// 引入用户模块路由
require __DIR__ . '/user.php';

// 引入CRM模块路由
require __DIR__ . '/crm.php';

// 引入客户管理模块路由
require __DIR__ . '/customer.php';

// 应用程序主路由规范化完成标记
// ROUTE_STANDARDIZATION_DONE: app.php - 所有正式API路由已统一使用/api前缀，测试路由和特殊功能路由已标记
// 客户账号管理路由
Route::group('api/customer/account', function () {
    // 获取账号列表
    Route::get('list', '\app\controller\customer\Account@list');
    
    // 获取账号统计数据
    Route::get('stats', '\app\controller\customer\Account@stats');
    
    // 获取账号详情
    Route::get('detail/:id', '\app\controller\customer\Account@detail');
    
    // 创建账号
    Route::post('add', '\app\controller\customer\Account@add');
    
    // 更新账号
    Route::post('edit', '\app\controller\customer\Account@edit');
    
    // 删除账号
    Route::post('delete/:id', '\app\controller\customer\Account@delete');
    
    // 冻结账号
    Route::post('freeze/:id', '\app\controller\customer\Account@freeze');
    
    // 解冻账号
    Route::post('unfreeze/:id', '\app\controller\customer\Account@unfreeze');
    
    // 绑定微信
    Route::post('wechat/:id', '\app\controller\customer\Account@wechat');
});

